# SPDX-License-Identifier: GPL-2.0-only
menuconfig ARCH_INTEGRATOR
	bool "ARM Ltd. Integrator family"
	depends on ARCH_MULTI_V4T || ARCH_MULTI_V5 || ARCH_MULTI_V6
	select ARM_AMBA
	select COMMON_CLK_VERSATILE
	select CMA
	select DMA_CMA
	select HAVE_TCM
	select ICST
	select MFD_SYSCON
	select PLAT_VERSATILE
	select POWER_RESET
	select POWER_RESET_VERSATILE
	select POWER_SUPPLY
	select SOC_INTEGRATOR_CM
	select SPARSE_IRQ
	select VERSATILE_FPGA_IRQ
	help
	  Support for ARM's Integrator platform.

if ARCH_INTEGRATOR

config ARCH_INTEGRATOR_AP
	bool "Support Integrator/AP and Integrator/PP2 platforms"
	select INTEGRATOR_AP_TIMER
	select SERIAL_AMBA_PL010 if TTY
	select SERIAL_AMBA_PL010_CONSOLE if TTY
	select SOC_BUS
	help
	  Include support for the ARM(R) Integrator/AP and
	  Integrator/PP2 platforms.

config INTEGRATOR_IMPD1
	bool "Include support for Integrator/IM-PD1"
	depends on ARCH_INTEGRATOR_AP
	select ARM_VIC
	select GPIO_PL061
	select GPIOLIB
	select REGULATOR
	select REGULATOR_FIXED_VOLTAGE
	help
	  The IM-PD1 is an add-on logic module for the Integrator which
	  allows ARM(R) Ltd PrimeCells to be developed and evaluated.
	  The IM-PD1 can be found on the Integrator/PP2 platform.

config INTEGRATOR_CM7TDMI
	bool "Integrator/CM7TDMI core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V4 && !MMU
	select CPU_ARM7TDMI

config INTEGRATOR_CM720T
	bool "Integrator/CM720T core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V4T
	select CPU_ARM720T

config INTEGRATOR_CM740T
	bool "Integrator/CM740T core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V4T && !MMU
	select CPU_ARM740T

config INTEGRATOR_CM920T
	bool "Integrator/CM920T core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V4T
	select CPU_ARM920T

config INTEGRATOR_CM922T_XA10
	bool "Integrator/CM922T-XA10 core module"
	depends on ARCH_MULTI_V4T
	depends on ARCH_INTEGRATOR_AP
	select CPU_ARM922T

config INTEGRATOR_CM926EJS
	bool "Integrator/CM926EJ-S core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V5
	select CPU_ARM926T

config INTEGRATOR_CM940T
	bool "Integrator/CM940T core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V4T && !MMU
	select CPU_ARM940T

config INTEGRATOR_CM946ES
	bool "Integrator/CM946E-S core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V5 && !MMU
	select CPU_ARM946E

config INTEGRATOR_CM966ES
	bool "Integrator/CM966E-S core module"
	depends on ARCH_INTEGRATOR_AP
	depends on BROKEN # no kernel support

config INTEGRATOR_CM10200E_REV0
	bool "Integrator/CM10200E rev.0 core module"
	depends on ARCH_INTEGRATOR_AP && n
	depends on ARCH_MULTI_V5
	select CPU_ARM1020

config INTEGRATOR_CM10200E
	bool "Integrator/CM10200E core module"
	depends on ARCH_INTEGRATOR_AP && n
	depends on ARCH_MULTI_V5
	select CPU_ARM1020E

config INTEGRATOR_CM10220E
	bool "Integrator/CM10220E core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V5
	select CPU_ARM1022

config INTEGRATOR_CM1026EJS
	bool "Integrator/CM1026EJ-S core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V5
	select CPU_ARM1026

config INTEGRATOR_CM1136JFS
	bool "Integrator/CM1136JF-S core module"
	depends on ARCH_INTEGRATOR_AP
	depends on ARCH_MULTI_V6
	select CPU_V6

config ARCH_INTEGRATOR_CP
	bool "Support Integrator/CP platform"
	depends on (!MMU || ARCH_MULTI_V5 || ARCH_MULTI_V6)
	select ARM_TIMER_SP804
	select SERIAL_AMBA_PL011 if TTY
	select SERIAL_AMBA_PL011_CONSOLE if TTY
	select SOC_BUS
	help
	  Include support for the ARM(R) Integrator CP platform.

config INTEGRATOR_CT7T
	bool "Integrator/CT7TD (ARM7TDMI) core tile"
	depends on ARCH_INTEGRATOR_CP
	depends on ARCH_MULTI_V4T && !MMU
	select CPU_ARM7TDMI

config INTEGRATOR_CT926
	bool "Integrator/CT926 (ARM926EJ-S) core tile"
	depends on ARCH_INTEGRATOR_CP
	depends on ARCH_MULTI_V5
	select CPU_ARM926T

config INTEGRATOR_CTB36
	bool "Integrator/CTB36 (ARM1136JF-S) core tile"
	depends on ARCH_INTEGRATOR_CP
	depends on ARCH_MULTI_V6
	select CPU_V6

config ARCH_CINTEGRATOR
	depends on ARCH_INTEGRATOR_CP
	def_bool y

endif
